package com.ruicar.afs.cloud.common.modules.dto.mq.loan.contractdto;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.ruicar.afs.cloud.common.core.enums.AfsEnumDeserializer;
import com.ruicar.afs.cloud.common.core.enums.AfsEnumSerializer;
import com.ruicar.afs.cloud.common.modules.afscorebusiness.enums.CostTypeEnum;
import lombok.Data;

import java.math.BigDecimal;

/**
 * @param
 * @author yk.Li
 * @description 合同贴息明细
 * @date 2020/7/8
 */
@Data
public class ContractDiscountDetailsDTO {
    /**
     * 费用ID
     */
    @JSONField(name = "costId")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long costId;
    /**
     * 合同号码
     */
    @JSONField(name = "contractNo")
    private String contractNo;

    /**
     * 费用类型 车款，附加贷
     */
    @JSONField(name = "costType", serializeUsing = AfsEnumSerializer.class, deserializeUsing = AfsEnumDeserializer.class)
    private CostTypeEnum costType;

    /**
     * 贴息方ID
     */
    @JSONField(name = "discountId")
    @JsonSerialize(using = ToStringSerializer.class)
    private String discountId;
    /**
     * 贴息方
     */
    @JSONField(name = "discountParty")
    private String discountParty;
    /**
     * 贴息比例
     */
    @JSONField(name = "discountScale")
    private BigDecimal discountScale;
    /**
     * 最高贴息额
     */
    @JSONField(name = "maxDiscountAmt")
    private BigDecimal maxDiscountAmt;
    /**
     * 实际贴息金额
     */
    @JSONField(name = "discountAmt")
    private BigDecimal discountAmt;
    /**
     * 是否总对总
     */
    @JSONField(name = "totalToTotal")
    private String totalToTotal;
}
